When an operating system is installed on a computing system (a “physical machine”), there are generally two phases of the installation process; namely, a copy phase, and a specialization phase. During the copy phase, files are copied from the installation medium to the computing system. During the specialization phase, the user is queried for information that is specific to the user and/or computing system to allow the operating system to be specialized for the user and/or computing system.
A virtual machine emulates the logic of a fully operational computing system including the operating system, its various applications, and corresponding settings. The virtual machine interfaces with the user via a remotely located client computing system. For instance, the virtual machine receives client input from the remote client, and provides resulting desktop image information back to the client. The client does not operate the corresponding operating system, but rather just receives the user input, relays the user input to the virtual machine, and renders the desktop using the resulting desktop image provided by the virtual machine. In some embodiments, virtual machines operate within a cloud computing environment. In any case, when a new virtual machine is provisioned from a generalized virtual machine image, user-specific and/or machine-specific parameters are set such that the virtual machine that has a specific identity and corresponds to a particular user and/or client computing system.